module(
    name = "rules_go",
    version = "0.38.0",
    compatibility_level = 0,
    repo_name = "io_bazel_rules_go",
)

bazel_dep(name = "bazel_skylib", version = "1.2.0")
bazel_dep(name = "platforms", version = "0.0.4")
bazel_dep(name = "rules_proto", version = "4.0.0")
bazel_dep(name = "protobuf", version = "3.19.2", repo_name = "com_google_protobuf")

non_module_dependencies = use_extension("//go/private:extensions.bzl", "non_module_dependencies")
use_repo(
    non_module_dependencies,
    "go_googleapis",
    "io_bazel_rules_nogo",
)

go_sdk = use_extension("//go:extensions.bzl", "go_sdk")
go_sdk.download(
    name = "go_default_sdk",
    version = "1.18.3",
)
use_repo(go_sdk, "go_default_sdk_toolchains")

register_toolchains("@go_default_sdk_toolchains//:all")

bazel_dep(name = "gazelle", version = "0.27.0")

go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
go_deps.module(
    build_file_proto_mode = "disable",
    path = "github.com/gogo/protobuf",
    sum = "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=",
    version = "v1.3.2",
)
use_repo(
    go_deps,
    "com_github_gogo_protobuf",
    "com_github_golang_mock",
    "com_github_golang_protobuf",
    "org_golang_google_genproto",
    "org_golang_google_grpc",
    "org_golang_google_protobuf",
    "org_golang_x_net",
)
